home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Games / flying-6.11 / wall.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-06-30  |  1.5 KB  |  64 lines

  1. #ifndef _wall_h
  2. #define _wall_h
  3.  
  4. #ifndef _object_h
  5. #    include "object.h"
  6. #endif
  7. #ifndef _vec2_h
  8. #    include "vec2.h"
  9. #endif
  10.  
  11. //
  12. // -------------------------------------------------------------------------
  13. //   class Wall:  Begrenzungs-Objekt
  14. // -------------------------------------------------------------------------
  15. //
  16.  
  17. class Wall : public Object {
  18.     public:
  19.         Wall( double x1, double y1, double x2, double y2 );
  20.         Wall( const Vec2 &v1, const Vec2 &v2 );
  21.         virtual ~Wall();
  22.  
  23.         virtual Real HitFromBall( Ball *b );
  24.         virtual void CollideWithBall( Ball *b );
  25.         virtual void Info();
  26.  
  27.     protected:
  28.         Vec2    p1,p2;
  29.  
  30.         Vec2    d;            // p2-p1
  31.         Vec2    ds;        // normierter Vektor senkrecht zu d
  32.  
  33. friend class Pool;
  34. };
  35.  
  36. //
  37. // -------------------------------------------------------------------------
  38. //   class XWall:  Wand ohne Begrenzung
  39. // -------------------------------------------------------------------------
  40. //
  41.  
  42. class XWall : public Wall {
  43.     public:
  44.         XWall( double x, double y1, double y2 ) : Wall(x,y1,x,y2)    { ; }
  45.         virtual ~XWall();
  46.         Real HitFromBall( Ball *b );
  47.         void     CollideWithBall( Ball *b );
  48. };
  49. //
  50. // -------------------------------------------------------------------------
  51. //   class YWall:  Wand ohne Begrenzung
  52. // -------------------------------------------------------------------------
  53. //
  54.  
  55. class YWall : public Wall {
  56.     public:
  57.         YWall( double x1, double x2, double y ) : Wall(x1,y,x2,y)    { ; }
  58.         virtual ~YWall();
  59.         Real HitFromBall( Ball *b );
  60.         void     CollideWithBall( Ball *b );
  61. };
  62.  
  63. #endif
  64.